-
Notifications
You must be signed in to change notification settings - Fork 0
Fomalization of AST (syntax and semantics) and general helper lemmas for AST-to-CFG phase validation #1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…d goto reduction (which needs to be checked again)
| redE2: "A,\<Lambda>,\<Gamma>,\<Omega> \<turnstile> \<langle>e2, ns\<rangle> \<Down> v2" by blast | ||
| from this eq_false have "v1 \<noteq> v2" | ||
| using RedBinOp_case | ||
| by (smt (verit, del_insts) RedBinOp_case binop_eval_val.simps(1) expr_eval_determ(1) lit.inject(1) option.inject val.inject(1)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to get rid of smt proofs if possible (same comment for other smt proofs). They are not very stable (for example, on my Windows machine sometimes smt proofs go through and sometimes they don't).
| step1: "(red_bigblock A M \<Lambda> \<Gamma> \<Omega> T (BigBlock None [] None None, KEndBlock (KSeq bb_next cont0), Normal ns3) (inter_bb, inter_cont, inter_state))" and | ||
| step2: "(red_bigblock A M \<Lambda> \<Gamma> \<Omega> T (inter_bb, inter_cont, inter_state) (inter_bb2, inter_cont2, inter_state2))" and | ||
| rest: "A,M,\<Lambda>,\<Gamma>,\<Omega>,T \<turnstile>(inter_bb2, inter_cont2, inter_state2) -n\<longrightarrow>^l2 (reached_bb, reached_cont, reached_state)" | ||
| by (metis (no_types, opaque_lifting) prod_cases3 relpowp_Suc_D2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replace by "by (metis (no_types) etc...)", otherwise the proofs fail on Windows.
| step2: "(red_bigblock A M \<Lambda> \<Gamma> \<Omega> T (inter_bb, inter_cont, inter_state) (inter_bb2, inter_cont2, inter_state2))" and | ||
| step3: "(red_bigblock A M \<Lambda> \<Gamma> \<Omega> T (inter_bb2, inter_cont2, inter_state2) (inter_bb3, inter_cont3, inter_state3))" and | ||
| rest: "A,M,\<Lambda>,\<Gamma>,\<Omega>,T \<turnstile> (inter_bb3, inter_cont3, inter_state3) -n\<longrightarrow>^l3 (reached_bb, reached_cont, reached_state)" | ||
| by (metis (no_types, opaque_lifting) get_state.cases relpowp_Suc_D2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
replace by "by (metis (no_types) etc...)", otherwise the proofs fail on Windows.
|
Passification.thy seems to have minor errors after the most recent commit (before that it works). |
# Conflicts: # BoogieLang/Semantics.thy
simplify proofs in the process
|
This PR is subsumed by #8. |
No description provided.